<?php


namespace app\common\validate\merchant;


use yiqiniu\extend\validate\YqnValidate;

/**
 * 商户商品表
 * Class Product
 * @package app\common\validate
 */
class ProductValid extends YqnValidate
{

    /**
     *  字段：'id'，    类型：'bigint',    是否为空：1,    说明：分类ID
     *  字段：'mer_id'，    类型：'character varying(20)',    是否为空：1,    说明：商户ID
     *  字段：'code'，    类型：'character varying(50)',    是否为空：1,    说明：
     *  字段：'title'，    类型：'character varying(150)',    是否为空：1,    说明：商品名称
     *  字段：'sub_title'，    类型：'character varying(150)',    是否为空：1,    说明：商品名称
     *  字段：'class_id'，    类型：'integer',    是否为空：1,    说明：所属分类
     *  字段：'pics'，    类型：'character varying(500)',    是否为空：1,    说明：商品主图
     *  字段：'images'，    类型：'text',    是否为空：,    说明：详情图
     *  字段：'describe'，    类型：'text',    是否为空：,    说明：描述
     *  字段：'op_user'，    类型：'integer',    是否为空：1,    说明：操作人
     *  字段：'create_at'，    类型：'timestamp(0) without time zone',    是否为空：,    说明：创建时间
     *  字段：'update_at'，    类型：'timestamp(0) without time zone',    是否为空：,    说明：更新时间
     *  字段：'delete_at'，    类型：'timestamp(0) without time zone',    是否为空：,    说明：删除时间 不为null, 已删除
     */

    /**
     *  验证规则
     */
    protected $rule = [
        'id' => 'require|number|dbExists:product,id',
        'mer_id' => 'require',
        'code' => 'require',
        'title' => 'require',
        'sub_title' => 'require',
        'class_id' => 'require|number|dbExists:product_class,id',
        'pics' => 'require',
        'op_user' => 'require|number',
        'create_at' => 'date',
        'update_at' => 'date',
        'delete_at' => 'date',
        'warn_num' => 'require|number',


    ];

    /**
     * 定义错误信息
     * 格式：'字段名.规则名'    =>    '错误信息'
     *
     * @var array
     */
    protected $message = [
        'id.require' => '主键不能为空',
        'id.dbExists' => '商品不存在',
        'id.number' => '主键只能为数字类型',
        'mer_id.require' => '商户ID不能为空',
        'code.require' => '货号不能为空',
        'title.require' => '商品名称不能为空',
        'sub_title.require' => '商品名称不能为空',
        'class_id.require' => '所属分类不能为空',
        'class_id.number' => '所属分类只能为数字类型',
        'class_id.dbExists' => '所属分类未找到',
        'pics.require' => '商品主图不能为空',
        'op_user.require' => '操作人不能为空',
        'op_user.number' => '操作人只能为数字类型',
        'create_at.date' => '创建时间只能为日期类型',
        'update_at.date' => '更新时间只能为日期类型',
        'delete_at.date' => '删除时间只能为日期类型',
        'warn_num.require' => '库存不能为空',
        'warn_num.number' => '库存只能为数字类型',


    ];

    //验证场景
    protected $scene = [
        'product_save' => ['title', 'code', 'class_id'],
        'product_del' => ['id'],
        'product_info' => ['id'],
        'product_save_stock' => ['id', 'warn_num'],
    ];
}
